// 简单的状态管理

import { reactive } from 'vue'

// 全局状态
const state = reactive({
  // 用户信息
  user: {
    isLoggedIn: false,
    token: '',
    userInfo: null
  },
  // 社团相关状态
  society: {
    currentSociety: null,
    societyList: []
  }
})

// 操作方法
const mutations = {
  // 设置用户信息
  setUserInfo(userInfo) {
    state.user.userInfo = userInfo
    state.user.isLoggedIn = true
  },
  
  // 设置token
  setToken(token) {
    state.user.token = token
    localStorage.setItem('token', token)
  },
  
  // 清除用户信息（登出）
  clearUserInfo() {
    state.user.isLoggedIn = false
    state.user.token = ''
    state.user.userInfo = null
    localStorage.removeItem('token')
  },
  
  // 设置当前社团
  setCurrentSociety(society) {
    state.society.currentSociety = society
  },
  
  // 设置社团列表
  setSocietyList(list) {
    state.society.societyList = list
  }
}

// 导出store
export const store = {
  state,
  mutations
}